using System;
using System.Collections.Generic;
using System.Text;
using Unitins.Component.PersistenceLayer;
using Unitins.Component.ComponentMaster;

namespace Unitins.Component.Repository.Sepsi
{
    [Serializable]
    public class UsuarioDisciplina : IObject<UsuarioDisciplina>
    {
        #region Fields

        private Int64 idUsuarioDisciplina;
        private Int64 idUsuario;
        private Int64 idDisciplina;

        #endregion Fields

        #region Properties

        public Int64 IdUsuarioDisciplina
        {
            get { return idUsuarioDisciplina; }
            set { idUsuarioDisciplina = value; }
        }

        public Int64 IdUsuario
        {
            get { return idUsuario; }
            set { idUsuario = value; }
        }

        public Int64 IdDisciplina
        {
            get { return idDisciplina; }
            set { idDisciplina = value; }
        }

        #endregion Properties

        #region Constructor

        public UsuarioDisciplina()
        {
        }

        public UsuarioDisciplina(Int64 idUsuarioDisciplina, Int64 idUsuario, Int64 idDisciplina)
        {
            this.IdUsuarioDisciplina = idUsuarioDisciplina;
            this.IdUsuario = idUsuario;
            this.IdDisciplina = idDisciplina;
        }

        #endregion Constructors

        #region Methods Overrides

        public String GetToString()
        {
            return
            (
                "{IdUsuarioDisciplina : " + this.IdUsuarioDisciplina + "} " + Environment.NewLine +
                "{IdUsuario : " + this.IdUsuario + "} " + Environment.NewLine +
                "{IdDisciplina : " + this.IdDisciplina + "} " + Environment.NewLine +
                ""
             );
        }

        public object Clone()
        {
            UsuarioDisciplina objUsuarioDisciplina = new UsuarioDisciplina();

            objUsuarioDisciplina.IdUsuarioDisciplina = this.IdUsuarioDisciplina;
            objUsuarioDisciplina.IdUsuario = this.IdUsuario;
            objUsuarioDisciplina.IdDisciplina = this.IdDisciplina;

            return objUsuarioDisciplina;
        }

        #endregion Methods Overrides

    }

    public enum UsuarioDisciplinaAttribute
    {
        IdUsuarioDisciplina = 0,
        IdUsuario = 1,
        IdDisciplina = 2,
    }
}
